<?php
class Generic_model extends CI_Model {
    public function __construct() {
        $this->load->database();
    }
    
    public function set($table, $datos) {
        $this->db->insert($table, $datos);
        return $this->db->insert_id();
    }
    
    public function get($table, $id) {
        $query = $this->db->query("SELECT *
                            FROM
                                $table
                            WHERE
                                idunidad = '$id'");
        return $query->row_array();
    }
    
    public function update($table, $datos, $idunidad) {
        $this->db->update($table, $datos, array('idunidad' => $idunidad));
    }
    
    public function gets($table) {
        $query = $this->db->query("SELECT *
                            FROM
                                $table");
        return $query->result_array();
    }
    
    public function get_unidades_por_tipo($idtipo) {
        $query = $this->db->query("SELECT *
                                    FROM
                                        unidades
                                    WHERE
                                        idtipo = '$idtipo'");
        return $query->result_array();
    }
    
    public function get_adjuntos($id) {
        $query = $this->db->query("SELECT *
                                FROM
                                    adjuntos
                                WHERE
                                    idunidad = '$id'");
        return $query->result_array();
    }
    
    public function get_random() {
        $query = $this->db->query("SELECT *
                                    FROM
                                        adjuntos 
                                    GROUP BY 
                                        idunidad");
        return $query->result_array();
    }
    
    public function get_adjuntos_ordenados() {
        $query = $this->db->query("SELECT *
                                    FROM
                                        adjuntos a,
                                        unidades u
                                    WHERE
                                        a.idunidad = u.idunidad
                                    GROUP BY
                                        a.idunidad
                                    ORDER BY
                                        u.marca, u.modelo");
        return $query->result_array();
    }
    
    public function borrar($table, $idunidad) {
        $id = array(
            'idunidad' => $idunidad
        );
        
        $this->db->delete($table, $id);
    }
    
    public function borrar_adjunto($idadjunto) {
        $this->db->delete('adjuntos', array('idadjunto' => $idadjunto));
    }
}
?>
